package com.huawei.handle;

import com.huawei.Application;
import com.huawei.control.Game;
import com.huawei.data.PersonData;
import com.huawei.data.SystemData;
import com.huawei.mannager.GameDataManager;
import com.huawei.utils.SystemUtils;

import java.util.Scanner;

public class GameHandle implements Game {
    public GameHandle()
    {

    }
    /**
     * 游戏开始接口
     *
     * @param
     * @param
     */

    @Override
    public void onStart() {
        while (true){
            System.out.println("石头剪刀布游戏程序已启动");
            Scanner sc=new Scanner(System.in);
            System.out.println("请出拳");
            String nextPlans=sc.next();
            GameDataManager dm=GameDataManager.instance;
            PersonData personDatas=dm.getPersonData(nextPlans);
            String systemPlans = SystemUtils.onRandomResult();
            SystemData systemDatas=dm.getSystemData(systemPlans);
            System.out.println("系统出拳是："+systemPlans);
            onResult(personDatas, systemDatas);
            System.out.println("按Q退出其他键继续！");
            String str=sc.next();
            if (SystemUtils.isExit(str)){
                onOver();
            }else {
                continue;
            }
        }

    }

    /**
     * 游戏结束接口
     *
     */
    @Override
    public void onOver() {
        System.out.println("退出游戏成功！");
        System.exit(0);
    }

    /**
     * 游戏结果的接口
     *
     * @param personData
     * @param systemData
     * @return
     */
    @Override
    public boolean onResult(PersonData personData, SystemData systemData) {
        SystemUtils.endResult(personData.getPlans(),systemData.getPlans());

        return true;
    }

}
